﻿//using UnityEngine;
//using System;
//using System.Collections.Generic;

//using ALPackage;

//namespace GOE
//{
//    /// <summary>
//    /// 通用的中间提示信息
//    /// </summary>
//    public class NPGUIAddSceneCenterTip : _ABasicAdditionUIScene_NoChild
//    {
//        private static NPGUIAddSceneCenterTip _g_instance = new NPGUIAddSceneCenterTip();
//        public static NPGUIAddSceneCenterTip instance
//        {
//            get
//            {
//                if (null == _g_instance)
//                    _g_instance = new NPGUIAddSceneCenterTip();

//                return _g_instance;
//            }
//        }

//        public NPGUIAddSceneCenterTip()
//            : base()
//        {
//        }

//        protected override void _onEnterScene()
//        {
//            //开启窗口加载
//            NPGGUIWndCenterTips.instance.load(setSceneInited);
//        }

//        protected override void _dealQuitScene()
//        {
//            //卸载窗口
//            NPGGUIWndCenterTips.instance.discard();
//        }

//        protected override void _onSceneInited()
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//        }

//        /// <summary>
//        /// 展示对应的信息
//        /// </summary>
//        /// <param name="_info"></param>
//        public void showTransTextInfo(string _info)
//        {
//            showTextInfo(TextTranslate.instance.getLanguage(_info));
//        }
//        public void showTextInfo(string _info)
//        {
//            if (string.IsNullOrEmpty(_info))
//                return;

//            if (!isEntered)
//            {
//                UnityEngine.Debug.LogError("NPGUIAddSceneCenterTip 还未初始化！");
//                return;
//            }

//            showTextSysTip(_info);
//        }

//        /// <summary>
//        /// 展示对应的错误提示
//        /// </summary>
//        /// <param name="_errCode"></param>
//        public void showErrorInfo(int _errCode)
//        {
//            showTextInfo(TextTranslate.instance.getLanguage(string.Format("#0_S2C_Error_{0}", _errCode)));
//            //发送协议错误码埋点
//            GCommon.sendStepReport(NPTraceConst.SERVER_ERROR.setMark($"{_errCode}-{TextTranslate.instance.getLanguage(string.Format("#0_S2C_Error_{0}", _errCode))}"));
//#if UNITY_EDITOR
//            UnityEngine.Debug.LogError($"0_S2C_Error_{_errCode}, {ProtocolErrorCodeResult.instance.getResultMsg(_errCode)}");
//#endif
//        }


//        #region 系统提示类型tip

//        /// <summary>
//        /// 显示 文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextSysTip(string _text, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextSysTip(_text, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextSysTip(string _text, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            showTextSysTip(new List<string>() { _text }, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 文本+数量类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_value"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextNumSysTip(string _text, float _value, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_NUM_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextNumSysTip(_text, _value, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本+数量类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_value"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextNumSysTip(string _text, float _value, long _tipId = NPConst.C_DEFAULT_TEXT_NUM_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            string numStr = GCommon.getValueStr(_value);
//            showTextSysTip(new List<string>() { _text, numStr }, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_textList"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextSysTip(List<string> _textList, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextSysTip(_textList, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_textList"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextSysTip(List<string> _textList, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showTextSysTip(_textList, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 图片+文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_icon"></param>
//        /// <param name="_text"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showIconTextSysTip(NPGTextureIndex _icon, string _text, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_ICON_TEXT_TIP_REF_ID, Action<NPGGUIWndIconTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showIconTextSysTip(_icon, _text, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 图片+文本类型 系统提示，直接覆盖上一个
//        /// </summary>
//        /// <param name="_icon"></param>
//        /// <param name="_text"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showIconTextSysTip(NPGTextureIndex _icon, string _text, long _tipId = NPConst.C_DEFAULT_ICON_TEXT_TIP_REF_ID, Action<NPGGUIWndIconTextTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showIconTextSysTip(_icon, _text, _tipId, _onPop);
//        }

//        #endregion


//        #region 队列类型tip

//        /// <summary>
//        /// 显示 文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextTip(string _text, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextTip(_text, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextTip(string _text, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            showTextTip(new List<string>() { _text }, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 文本+数量类型 队列上浮提示
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_value"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextNumTip(string _text, float _value, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_NUM_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextNumTip(_text, _value, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本+数量类型 队列上浮提示
//        /// </summary>
//        /// <param name="_text"></param>
//        /// <param name="_value"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextNumTip(string _text, float _value, long _tipId = NPConst.C_DEFAULT_TEXT_NUM_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            string numStr = GCommon.getValueStr(_value);
//            showTextTip(new List<string>() { _text, numStr }, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_textList"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextTip(List<string> _textList, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showTextTip(_textList, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_textList"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showTextTip(List<string> _textList, long _tipId = NPConst.C_DEFAULT_TEXT_TIP_REF_ID, Action<NPGGUIWndTextTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showTextTip(_textList, _tipId, _onPop);
//        }


//        /// <summary>
//        /// 清除提示
//        /// </summary>
//        public void clearAllTip()
//        {
//            NPGGUIWndCenterTips.instance.clearAllTip();
//        }

//        /// <summary>
//        /// 显示 图片+文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_icon"></param>
//        /// <param name="_text"></param>
//        /// <param name="_startPos"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showIconTextTip(NPGTextureIndex _icon, string _text, Vector3 _startPos, long _tipId = NPConst.C_DEFAULT_ICON_TEXT_TIP_REF_ID, Action<NPGGUIWndIconTextTip> _onPop = null)
//        {
//            Vector2 screenPos = Game.instance.mainCamera.uiCamera.WorldToScreenPoint(_startPos);
//            showIconTextTip(_icon, _text, _tipId, (_tipWnd) => { _tipWnd?.setTipPos(screenPos); _onPop?.Invoke(_tipWnd); });
//        }

//        /// <summary>
//        /// 显示 图片+文本类型 队列上浮提示
//        /// </summary>
//        /// <param name="_icon"></param>
//        /// <param name="_text"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showIconTextTip(NPGTextureIndex _icon, string _text, long _tipId = NPConst.C_DEFAULT_ICON_TEXT_TIP_REF_ID, Action<NPGGUIWndIconTextTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showIconTextTip(_icon, _text, _tipId, _onPop);
//        }

//        /// <summary>
//        /// 显示 Item+Text+Text 队列上浮提示
//        /// </summary>
//        /// <param name="_icon"></param>
//        /// <param name="_text"></param>
//        /// <param name="_tipId"></param>
//        /// <param name="_onPop"></param>
//        public void showItemTextTextTip(_IItem _item, string _textOne, string _textTow, long _tipId = NPConst.C_DEFAULT_ITEM_TEXT_TEXT_TIP_REF_ID, Action<NPGGUIWndItemTextTextTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showItemTextTextTip(_item, _textOne, _textTow, _tipId, _onPop);
//        }

//        #endregion

//        public void showEmptyTip(long _tipId, Action<NPGGUIWndEmptyTip> _onPop = null)
//        {
//            NPGGUIWndCenterTips.instance.showWnd();
//            NPGGUIWndCenterTips.instance.showEmptyTip(_tipId, _onPop);
//        }
//    }
//}
